草庐IT

c++ - Qt中的多线程数据处理管道

在Qt中解决以下问题的好方法是什么:我有一个传感器类,它不断地产生数据。对这些数据,需要进行一系列的操作,可能需要很长时间。为此,我有一些额外的类(class)。基本上,每次记录一个新的数据项时,第一个类应该获取数据、处理它、将它传递给下一个等等。传感器-->第1类-->...-->最后一类我想将管道的各个类放入它们自己的线程中,这样当类2正在处理样本n时,类1可能已经在处理样本n+1...此外,由于各个步骤的性能可能有很大差异(例如,传感器比其他步骤快得多),而且我对过时的数据不感兴趣,我希望第1类(及其之后的所有内容)始终获得来自其前身的最新数据,丢弃旧数据。因此,管道步骤之间没有

c++ - 如何从文本编辑QT中获取整个文本

我正在尝试从文本编辑中获取文本并将其存储在QString中。当我写这篇文章时QStringtext=ui->textEdit->toPlainText();它只读取第一个'\n'之前的文本那么我怎样才能得到包含'\n'的整个文本。这是从这样的插槽中调用的:-voidMainWindow::on_pushButton_clicked(){QStringtext=ui->textEdit->toPlainText();ui->label_2->setText(text);} 最佳答案 将我的评论变成答案确保标签足够高以实际显示多行文本。

c++ - 尝试从源构建 Qt 会导致错误

我尝试从源代码构建更多Qt版本(5.20.和5.3.0alpha),并按照theirwebsite中的说明进行操作.我打开VisualStudio2013x64NativeTools命令行。我的命令行是这样的:configure-debug-nomakeexamples-opensource-platformwin32-msvc2013configure过程显然运行良好。(我的意思是不会出现任何错误)。虽然,当我开始构建它时,使用以下行:jom它工作了大约5到10分钟,然后我的命令行报告了以下错误:c:\qt\qt5.3.0\qt-source\qtdeclarative\src\3r

c++ - 如何将变量传递给 QT 中的插槽方法?

我正在制作一个小的聊天信使程序,它需要用户加入的聊天channel列表。为了以图形方式表示此列表,我制作了一个QPushButtons列表,它们都代表不同的channel。这些按钮是用以下方法制作的,这就是我的问题所在:voidMessenger::addToActivePanels(std::string&channel){activePanelsContents=this->findChild(QString("activePanelsContents"));pushButton=newQPushButton(activePanelsContents);pushButton->se

c++ - Visual C++ 与 QT Creator

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。我通常使用Java和C#编写代码,但有一个项目我必须使用C++。我的问题是使用QTCreator而不是VisualStudioExpress或其他方式对我来说有什么优点和缺点,我知道有类似的问题,但它们至少可以追溯到2年前。我必须指出,我只为Windows编写我的系统,我不打算让它成为多平台。

c++ - 是否有用于检测 USB 事件(插入和移除)的 Qt 解决方案?

正如其他一些人几年前在这里问过的那样,我希望能够在Qt应用程序中检测pendrive/datatraveler何时插入以及何时拔出我的系统(在LinuxUbuntu和嵌入式Linux中)。我在SO中搜索,我注意到大多数答案不仅非常过时(例如从2010年开始),而且所有解决方案都以某种方式涉及这些问题的“非Qt解决方案”:特定于平台或使用外部库,例如udev和DBus。我首先想知道的是是否有针对此的特定Qt解决方案,即无需添加外部库或平台特定代码即可执行此操作的方法,以及我如何使用它。最好它应该已经在Qt4.8中可用。如果没有Qt解决方案,那么基于Qt的库也是可以接受的。添加:搜索结果:

c++ - 为什么 Qt 为其容器类使用有符号整数类型?

问题很明确。我想知道为什么他们甚至认为这会很方便,因为显然负索引在将与它们一起使用的容器中是不可用的(参见示例QList'sdocs)。我以为他们想允许一些疯狂的索引形式,但它似乎不受支持?它还会生成大量(正确的)编译器警告,关于转换为和比较有符号/无符号类型(在MSVC上)。出于某种原因,它似乎在设计上与STL不兼容...... 最佳答案 虽然我非常赞同Chris的推理路线,但我不同意这一点(至少在某种程度上,我是在唱反调)。对大小使用无符号类型没有错,在某些情况下甚至是有益的。Chris对带符号大小类型的解释是,它们自然用作数组

有什么能直接用的开源QT的ui样式库

Qt提供了许多可供直接使用的开源UI样式库。其中一些常用的样式库包括:Fusion:Qt的默认样式库,提供现代化和简洁的界面。Windows:模拟Windows的界面样式。WindowsVista:模拟WindowsVista的界面样式。WindowsXP:模拟WindowsXP的界面样式。Macintosh:模拟MacOSX的界面样式。Plastique:一种简洁和明了的界面样式。开发者可以通过QApplication::setStyle()来设置界面样式。

c++ - Qt,如何更改 QComboBox 中一项的文本颜色? (C++)

我不知道如何更改QComboBox的一个特定项目的文本颜色。我能够更改项目的背景颜色:comboBox->setItemData(i,Qt::green,Qt::BackgroundRole);(Qt::ForegroundRole完全没有效果,Qt4.6,Ubuntu10.04)我能够使用样式表更改所有项目的文本颜色,但我不知道如何更改一个指定项目的文本颜色。感谢您的帮助! 最佳答案 这几乎就像你提议的那样,但你必须将角色更改为Qt::TextColorRole。comboBox->setItemData(0,QBrush(Qt:

QT的QStringList的使用

 初始化默认构造函数创建一个空列表。可以使用初始值设定项列表构造函数创建包含元素的列表:QStringListfonts={"Arial","Helvetica","Times"};添加字符串可以使用insert、append()和operator()可用于方便地将多个元素添加到列表中:fonts遍历字符串要遍历列表,可以使用索引位置迭代器类型:索引:for(inti=0;i操作字符串QStringList提供了几个函数,允许您操作列表的内容。您可以使用join()函数将字符串列表中的所有字符串连接成单个字符串(带有可选的分隔符)。例如:QStringstr=fonts.join(",");/